Digital cameras are image-capturing devices that are popular with consumers. Because digital cameras targeted for the consumer are so easy to use, a user will typically accumulate a large amount of digital images over time. These digital images, which are generally amassed on a hard drive or removable storage medium, often are stored in a folder that contains a large collection of unordered and unorganized images. This set of unordered images commonly is unwieldy and a user wishing to organize this set faces a daunting task.
Software does exist that automatically finds images that “go together” or are related. For instance, a user may want to find images that are related because they have the same exposure, track an object, form a group shot, or form a panorama. One type of existing software takes a collection of overlapping images and automatically stitches together a panorama. In addition, there is software currently available that takes a collection of images capturing the same scene at different exposures and produces a high-dynamic range image. For example, one such technique is described in co-pending application Ser. No. 11/049,597, filed on Feb. 1, 2005, by M. Uyttendaele, R. Szeliski, and A. Eden entitled “Method and System for Combining Multiple Exposure Images having Scene and Camera Motion” and in U.S. Ser. No. 10/623,033 by S. B. Kang, M. Uyttendaele, S. Winder, and R. Szeliski entitled “System and Process for Generating High Dynamic Range Images from Multiple Exposures of a Moving Scene” filed on Jul. 18, 2003. In addition, software exists that takes a collection similar images and creates a single composite image. This type of technique is described in a paper by A. Agarwala, M. Agarwala, S. Drucker, A. Colburn, B. Curless, D. Salesin, and M. Cohen, entitled “Interactive Digital Photomontage in ACM Trans. Graph., 23(3):294-302, 2004.
In theory, it is possible to input every image contained in the set of unordered images to the techniques listed above. One problem with this, however, is that it is quite slow and inefficient. In other words, throwing each image of the set of unordered images to one of these image overlapping detection techniques is an inefficient way to use these general-purpose techniques.
There are other techniques that perform clustering of a set of unordered images. For example, two clustering techniques are described in a paper by F. Schaffalitzky and A. Zisserman entitled “Multi-View Matching for Unordered Image Sets, or ‘How Do I Organize My Holiday Snaps?” in Proceedings of the European Conference on Computer Vision, pp. 414-431, 2002 and in a paper by J. Platt entitled “AutoAlbum: Clustering Digital Photographs using Probabilistic Model Merging” by J. C. Platt in Proc. IEEE Workshop on Content-Based Access of Image and Video Libraries 2000, pp. 96-100, (2000).
One problem, however with the Schaffalitzky et al. technique is that is it purely image based. In particular, their technique looks for similarities in images by looking at features captured in the images, such as people, buildings, and so forth. Once enough similar features are found then the images are defined as related. Only image data is used in the clustering of images. The Platt technique groups images based on temporal analysis (such as time stamps) and color overlap. However, one problem with the Platt technique is that is does not perform any type of spatial analysis or pixel analysis.
Therefore, what is needed is an automatic digital image grouping system and method that provides a quick and efficient way of organizing a set of unordered images. What is also needed is a system and method that examines and analyzes a variety of criteria to provide customized grouping and collection generation of related images in the set of unordered images.